package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 勘测后竞争对手管理对象 erp_survey_competitors_info
 *
 * @author wutao
 * @date 2024-05-22
 */
@TableName ( "erp_survey_competitors_info" )
@ApiModel ( value = "erp_survey_competitors_info对象", description = "勘测后竞争对手管理" )
@Data
public class SurveyCompetitorsEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId ( type = IdType.INPUT )
    private String id;

    /**
     * 客户Id
     */
    @ApiModelProperty ( "客户Id" )
    @TableField ( "customer_id" )
    @Excel ( name = "客户Id" )
    private String customerId;

    /**
     * 初步方案Id
     */
    @ApiModelProperty ( "初步方案Id" )
    @TableField ( "survey_programme_id" )
    @Excel ( name = "初步方案Id" )
    private String surveyProgrammeId;

    /**
     * 竞争对手名称
     */
    @ApiModelProperty ( "竞争对手名称" )
    @TableField ( "competitors_name" )
    @Excel ( name = "竞争对手名称" )
    private String competitorsName;

    /**
     * 竞争对手联系人
     */
    @ApiModelProperty ( "竞争对手联系人" )
    @TableField ( "competitors_user" )
    @Excel ( name = "竞争对手联系人" )
    private String competitorsUser;

    /**
     * 竞争对手联系电话
     */
    @ApiModelProperty ( "竞争对手联系电话" )
    @TableField ( "competitors_tel" )
    @Excel ( name = "竞争对手联系电话" )
    private String competitorsTel;

    /**
     * 竞争对手能力
     */
    @ApiModelProperty ( "竞争对手能力" )
    @TableField ( "ability" )
    @Excel ( name = "竞争对手能力" )
    private String ability;

    /**
     * 竞争对手优势
     */
    @ApiModelProperty ( "竞争对手优势" )
    @TableField ( "advantage" )
    @Excel ( name = "竞争对手优势" )
    private String advantage;

    /**
     * 竞争对手劣势
     */
    @ApiModelProperty ( "竞争对手劣势" )
    @TableField ( "dis_advantage" )
    @Excel ( name = "竞争对手劣势" )
    private String disAdvantage;

    /**
     * 备注
     */
    @ApiModelProperty ( "备注" )
    @TableField ( "remarks" )
    @Excel ( name = "备注" )
    private String remarks;

    /**
     * 更新时间
     */
    @ApiModelProperty ( "更新时间" )
    @TableField ( "change_time" )
    @JsonFormat ( pattern = "yyyy-MM-dd" )
    @Excel ( name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd" )
    private Date changeTime;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ( "更新时间" )
    @TableField ( "is_used" )
    @Excel ( name = "更新时间" )
    private Integer isUsed;

    @Override
    public String toString () {
        return new ToStringBuilder ( this, ToStringStyle.MULTI_LINE_STYLE )
                .append ( "id", getId () )
                .append ( "customerId", getCustomerId () )
                .append ( "surveyProgrammeId", getSurveyProgrammeId () )
                .append ( "competitorsName", getCompetitorsName () )
                .append ( "competitorsUser", getCompetitorsUser () )
                .append ( "competitorsTel", getCompetitorsTel () )
                .append ( "ability", getAbility () )
                .append ( "advantage", getAdvantage () )
                .append ( "disAdvantage", getDisAdvantage () )
                .append ( "remarks", getRemarks () )
                .append ( "createTime", getCreateTime () )
                .append ( "changeTime", getChangeTime () )
                .append ( "isUsed", getIsUsed () )
                .toString ();
    }
}
